package com.zondy.mapgis.domain.psmap;

import com.zondy.mapgis.common.core.annotation.Excel;
import com.zondy.mapgis.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;

@Schema(
   name = "主题对象"
)
public class AppTheme extends BaseEntity {
   private static final long serialVersionUID = 1L;
   @Schema(
      description = "主题ID"
   )
   private Long themeId;
   @Schema(
      description = "主题名称"
   )
   @Excel(
      name = "主题名称"
   )
   private String themeName;
   @Schema(
      description = "主题清单JSON"
   )
   private String manifest;
   @Schema(
      description = "主题布局JSON"
   )
   private String layout;

   public Long getThemeId() {
      return this.themeId;
   }

   public String getThemeName() {
      return this.themeName;
   }

   public String getManifest() {
      return this.manifest;
   }

   public String getLayout() {
      return this.layout;
   }

   public AppTheme setThemeId(Long themeId) {
      this.themeId = themeId;
      return this;
   }

   public AppTheme setThemeName(String themeName) {
      this.themeName = themeName;
      return this;
   }

   public AppTheme setManifest(String manifest) {
      this.manifest = manifest;
      return this;
   }

   public AppTheme setLayout(String layout) {
      this.layout = layout;
      return this;
   }

   public String toString() {
      return "AppTheme(themeId=" + this.getThemeId() + ", themeName=" + this.getThemeName() + ", manifest=" + this.getManifest() + ", layout=" + this.getLayout() + ")";
   }

   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof AppTheme)) {
         return false;
      } else {
         AppTheme other = (AppTheme)o;
         if (!other.canEqual(this)) {
            return false;
         } else if (!super.equals(o)) {
            return false;
         } else {
            label61: {
               Object this$themeId = this.getThemeId();
               Object other$themeId = other.getThemeId();
               if (this$themeId == null) {
                  if (other$themeId == null) {
                     break label61;
                  }
               } else if (this$themeId.equals(other$themeId)) {
                  break label61;
               }

               return false;
            }

            label54: {
               Object this$themeName = this.getThemeName();
               Object other$themeName = other.getThemeName();
               if (this$themeName == null) {
                  if (other$themeName == null) {
                     break label54;
                  }
               } else if (this$themeName.equals(other$themeName)) {
                  break label54;
               }

               return false;
            }

            Object this$manifest = this.getManifest();
            Object other$manifest = other.getManifest();
            if (this$manifest == null) {
               if (other$manifest != null) {
                  return false;
               }
            } else if (!this$manifest.equals(other$manifest)) {
               return false;
            }

            Object this$layout = this.getLayout();
            Object other$layout = other.getLayout();
            if (this$layout == null) {
               if (other$layout != null) {
                  return false;
               }
            } else if (!this$layout.equals(other$layout)) {
               return false;
            }

            return true;
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof AppTheme;
   }

   public int hashCode() {
      boolean PRIME = true;
      int result = super.hashCode();
      Object $themeId = this.getThemeId();
      result = result * 59 + ($themeId == null ? 43 : $themeId.hashCode());
      Object $themeName = this.getThemeName();
      result = result * 59 + ($themeName == null ? 43 : $themeName.hashCode());
      Object $manifest = this.getManifest();
      result = result * 59 + ($manifest == null ? 43 : $manifest.hashCode());
      Object $layout = this.getLayout();
      result = result * 59 + ($layout == null ? 43 : $layout.hashCode());
      return result;
   }
}
